1. Field of Invention
The invention relates to a packet switching load balance device and method, more particularly, to a device and method with balanced output loads used in a trunking-port network environment. During distributing packets through a switching system, the load balance of the output is achieved by using a ticket distribution mechanism and a ticket assignment mechanism.
2. Related Art
As the Internet becomes more popular and the users increase rapidly, to increase the bandwidth for allowing heavier network traffic, two or more transmission ports are often trunked together. However, merely increasing the bandwidth without a good mechanism for uniform distribution, the transmission flows may still jam at a particular transmission port. Therefore, it is highly desirable to build up an effective management mechanism for fully utilizing the existing bandwidth.
Generally speaking, the network traffic is closely related to the data types, peak time flows, and the number of users. The packet switching technology can effectively improve the network efficiency. In the Internet, data have to be exchanged through a plurality of network nodes to the destination. FIG. 1 shows a trunking port network transmission system architecture.
When an upper-layer user 1 wants to send out data, the data are separated into several packets. That is, the data are partitioned first before being sent out and then recombined after all of them are received. These packets are assigned their routes through a switching system 2 and transmitted to the Internet 4 via several aggregated links 3. As far as the system architecture is concerned, it is mainly several transmission ports trunked together. For the physical layer in the seven-level network structure of an OSIRM (Open System Interconnect Reference Model), these transmission ports are physically independent. For an upper-layer user/application, however, only one logical port is seen. This logical port is part of the switching system, corresponding to two or more than two physical output ports. The upper-layer user sends the packets to the logical port. The driver decides how to distribute the data flow received from the upper-layer in order to further send out the received packets through different physical output ports, so as to achieve the load-balancing.
FIG. 2 shows a conventional network data transmission structure. When an upper-layer user 1 wants to send out data, the packets are passed by an operating system 7 down to a logical port 8. The logical port 8 determines which physical output port 9 for each packet transmission.
According to the prior art, when the upper-layer user transmits packets, the physical output port for each packet is determined by the last bit of its source address. However, prior art easily causes transmission load unbalance in the system. In particular, when the same upper-layer users want to transmit a huge amount of data, the data are partitioned into many packets having the same source address. Therefore, all these packets are assigned the same physical output port, resulting in load unbalance in the system.